home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / text / DateFormatSymbols.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  4.0 KB  |  209 lines

  1. package java.text;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Locale;
  5. import java.util.ResourceBundle;
  6.  
  7. public class DateFormatSymbols implements Serializable, Cloneable {
  8.    String[] eras;
  9.    String[] months;
  10.    String[] shortMonths;
  11.    String[] weekdays;
  12.    String[] shortWeekdays;
  13.    String[] ampms;
  14.    String[][] zoneStrings;
  15.    static final String patternChars = "GyMdkHmsSEDFwWahKz";
  16.    String localPatternChars;
  17.    static final int millisPerHour = 3600000;
  18.  
  19.    public DateFormatSymbols() {
  20.       this.initializeData(Locale.getDefault());
  21.    }
  22.  
  23.    public DateFormatSymbols(Locale var1) {
  24.       this.initializeData(var1);
  25.    }
  26.  
  27.    public String[] getEras() {
  28.       return this.duplicate(this.eras);
  29.    }
  30.  
  31.    public void setEras(String[] var1) {
  32.       this.eras = this.duplicate(var1);
  33.    }
  34.  
  35.    public String[] getMonths() {
  36.       return this.duplicate(this.months);
  37.    }
  38.  
  39.    public void setMonths(String[] var1) {
  40.       this.months = this.duplicate(var1);
  41.    }
  42.  
  43.    public String[] getShortMonths() {
  44.       return this.duplicate(this.shortMonths);
  45.    }
  46.  
  47.    public void setShortMonths(String[] var1) {
  48.       this.shortMonths = this.duplicate(var1);
  49.    }
  50.  
  51.    public String[] getWeekdays() {
  52.       return this.duplicate(this.weekdays);
  53.    }
  54.  
  55.    public void setWeekdays(String[] var1) {
  56.       this.weekdays = this.duplicate(var1);
  57.    }
  58.  
  59.    public String[] getShortWeekdays() {
  60.       return this.duplicate(this.shortWeekdays);
  61.    }
  62.  
  63.    public void setShortWeekdays(String[] var1) {
  64.       this.shortWeekdays = this.duplicate(var1);
  65.    }
  66.  
  67.    public String[] getAmPmStrings() {
  68.       return this.duplicate(this.ampms);
  69.    }
  70.  
  71.    public void setAmPmStrings(String[] var1) {
  72.       this.ampms = this.duplicate(var1);
  73.    }
  74.  
  75.    public String[][] getZoneStrings() {
  76.       String[][] var1 = new String[this.zoneStrings.length][];
  77.  
  78.       for(int var2 = 0; var2 < this.zoneStrings.length; ++var2) {
  79.          var1[var2] = this.duplicate(this.zoneStrings[var2]);
  80.       }
  81.  
  82.       return var1;
  83.    }
  84.  
  85.    public void setZoneStrings(String[][] var1) {
  86.       String[][] var2 = new String[var1.length][];
  87.  
  88.       for(int var3 = 0; var3 < var1.length; ++var3) {
  89.          var2[var3] = this.duplicate(var1[var3]);
  90.       }
  91.  
  92.       this.zoneStrings = var2;
  93.    }
  94.  
  95.    public String getLocalPatternChars() {
  96.       return new String(this.localPatternChars);
  97.    }
  98.  
  99.    public void setLocalPatternChars(String var1) {
  100.       this.localPatternChars = new String(var1);
  101.    }
  102.  
  103.    public Object clone() {
  104.       try {
  105.          DateFormatSymbols var1 = (DateFormatSymbols)super.clone();
  106.          this.copyMembers(this, var1);
  107.          return var1;
  108.       } catch (CloneNotSupportedException var2) {
  109.          throw new InternalError();
  110.       }
  111.    }
  112.  
  113.    public int hashCode() {
  114.       int var1 = 0;
  115.  
  116.       for(int var2 = 0; var2 < this.zoneStrings[0].length; ++var2) {
  117.          var1 ^= this.zoneStrings[0][var2].hashCode();
  118.       }
  119.  
  120.       return var1;
  121.    }
  122.  
  123.    public boolean equals(Object var1) {
  124.       if (this == var1) {
  125.          return true;
  126.       } else if (this.getClass() != var1.getClass()) {
  127.          return false;
  128.       } else {
  129.          DateFormatSymbols var2 = (DateFormatSymbols)var1;
  130.          return Utility.arrayEquals(this.eras, var2.eras) && Utility.arrayEquals(this.months, var2.months) && Utility.arrayEquals(this.shortMonths, var2.shortMonths) && Utility.arrayEquals(this.weekdays, var2.weekdays) && Utility.arrayEquals(this.shortWeekdays, var2.shortWeekdays) && Utility.arrayEquals(this.ampms, var2.ampms) && Utility.arrayEquals(this.zoneStrings, var2.zoneStrings) && Utility.arrayEquals(this.localPatternChars, var2.localPatternChars);
  131.       }
  132.    }
  133.  
  134.    private void initializeData(Locale var1) {
  135.       ResourceBundle var3 = ResourceBundle.getBundle("java.text.resources.LocaleElements", var1);
  136.       ResourceBundle var4 = ResourceBundle.getBundle("java.text.resources.DateFormatZoneData", var1);
  137.       this.eras = (String[])var3.getObject("Eras");
  138.       this.months = var3.getStringArray("MonthNames");
  139.       this.shortMonths = var3.getStringArray("MonthAbbreviations");
  140.       String[] var5 = var3.getStringArray("DayNames");
  141.       this.weekdays = new String[8];
  142.       this.weekdays[0] = "";
  143.  
  144.       for(int var2 = 0; var2 < var5.length; ++var2) {
  145.          this.weekdays[var2 + 1] = var5[var2];
  146.       }
  147.  
  148.       String[] var6 = var3.getStringArray("DayAbbreviations");
  149.       this.shortWeekdays = new String[8];
  150.       this.shortWeekdays[0] = "";
  151.  
  152.       for(int var7 = 0; var7 < var6.length; ++var7) {
  153.          this.shortWeekdays[var7 + 1] = var6[var7];
  154.       }
  155.  
  156.       this.ampms = var3.getStringArray("AmPmMarkers");
  157.       this.zoneStrings = (String[][])var4.getObject("zoneStrings");
  158.       this.localPatternChars = (String)var4.getObject("localPatternChars");
  159.    }
  160.  
  161.    final int getZoneIndex(String var1) {
  162.       int var2;
  163.       for(var2 = 0; var2 < this.zoneStrings.length && !var1.regionMatches(true, 0, this.zoneStrings[var2][2], 0, this.zoneStrings[var2][2].length()); ++var2) {
  164.       }
  165.  
  166.       if (var2 < this.zoneStrings.length) {
  167.          return var2;
  168.       } else {
  169.          for(var2 = 0; var2 < this.zoneStrings.length && !var1.regionMatches(true, 0, this.zoneStrings[var2][4], 0, this.zoneStrings[var2][4].length()); ++var2) {
  170.          }
  171.  
  172.          return var2 < this.zoneStrings.length ? var2 : -1;
  173.       }
  174.    }
  175.  
  176.    private final String[] duplicate(String[] var1) {
  177.       String[] var2 = new String[var1.length];
  178.       System.arraycopy(var1, 0, var2, 0, var1.length);
  179.       return var2;
  180.    }
  181.  
  182.    private final void copyMembers(DateFormatSymbols var1, DateFormatSymbols var2) {
  183.       var2.eras = this.duplicate(var1.eras);
  184.       var2.months = this.duplicate(var1.months);
  185.       var2.shortMonths = this.duplicate(var1.shortMonths);
  186.       var2.weekdays = this.duplicate(var1.weekdays);
  187.       var2.shortWeekdays = this.duplicate(var1.shortWeekdays);
  188.       var2.ampms = this.duplicate(var1.ampms);
  189.  
  190.       for(int var3 = 0; var3 < var2.zoneStrings.length; ++var3) {
  191.          var2.zoneStrings[var3] = this.duplicate(var1.zoneStrings[var3]);
  192.       }
  193.  
  194.       var2.localPatternChars = new String(var1.localPatternChars);
  195.    }
  196.  
  197.    private final boolean equals(String[] var1, String[] var2) {
  198.       int var3 = var1.length;
  199.  
  200.       for(int var4 = 0; var4 < var3; ++var4) {
  201.          if (!var1[var4].equals(var2[var4])) {
  202.             return false;
  203.          }
  204.       }
  205.  
  206.       return true;
  207.    }
  208. }
  209.